package com.winsdom.service;

import com.winsdom.dto.AccountInformationDTO;
import com.winsdom.dto.CategoryTreeNodes;
import com.winsdom.dto.SysUserDTO;
import com.winsdom.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;
import com.winsdom.result.PageResult;
import com.winsdom.vo.CodeRuleVO;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author
 * @since 2025-05-12
 */
public interface ISysUserService extends IService<SysUser> {
    /**
     * 查询账号
     * @param accountInformationDTO
     * @return
     */
    PageResult getAllAccount(AccountInformationDTO accountInformationDTO);

    /**
     * 新增用户
     * @param sysUserDTO
     */
    void add(SysUserDTO sysUserDTO);

    /**
     * 编辑用户
     * @param sysUserDTO
     */
    void update(SysUserDTO sysUserDTO);

    /**
     * 获取当前用户组织树
     * @return
     */
    CategoryTreeNodes getCurrentUserOrganizationTree();

    /**
     * 重置密码
     * @param id
     */
    void resetPassword(Long id);

    /**
     * 获取编码规则
     * @return
     */
    CodeRuleVO getCodeRule();
}
